#ifndef PTRACE_UTILS_H
#define PTRACE_UTILS_H

#include <sys/types.h>
#include <sys/user.h>
#include <sys/ptrace.h>
#include <sys/signal.h>
#include <sys/wait.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>


int trace_read_data(pid_t pid, unsigned long addr, void *vptr, int len);
int trace_write_data(pid_t pid, unsigned long addr, void *vptr, int len);

int trace_get_regs(pid_t pid, struct user_regs_struct *regs);
int trace_set_regs(pid_t pid, struct user_regs_struct *regs);

int trace_cont(pid_t pid, int* status);

int trace_get_siginfo(pid_t pid, siginfo_t* siginfo);



#endif // PTRACE_UTILS_H
